//import java.util.LinkedList;
//import java.util.Queue;
//
//class MyStack {
//    public Queue<Integer> queue1;
//    public Queue<Integer> queue2;
//    public MyStack() {
//        queue1 = new LinkedList<>();
//        queue2 = new LinkedList<>();
//    }
//
//    public void push(int x) {
//        if(queue1 != null){
//            queue1.offer(x);
//        }else if(queue2 != null){
//            queue2.offer(x);
//        }else{
//            queue1.offer(x);
//        }
//    }
//
//    public int pop() {
//        if (empty()){
//            return -1;
//        }
//        if (!queue1.isEmpty()) {
//            int size1 = queue1.size();
//            for (int i = 0; i < size1 - 1; i++) {
//                queue2.offer(queue1.poll());
//            }
//            return queue1.poll();
//        } else {
//            int size2 = queue2.size();
//            for (int i = 0; i < size2 - 1; i++) {
//                queue1.offer(queue2.poll());
//            }
//            return queue2.poll();
//        }
//    }
//    public int top() {
//        if (empty()){
//            return -1;
//        }
//        int temp = -1;
//        if (!queue1.isEmpty()) {
//            int size1 = queue1.size();
//            for (int i = 0; i < size1 ; i++) {
//                temp = queue1.poll();
//                queue2.offer(temp);
//            }
//        } else {
//            int size2 = queue2.size();
//            for (int i = 0; i < size2 ; i++) {
//                temp = queue2.poll();
//                queue1.offer(temp);
//            }
//        }
//        return temp;
//    }
//
//    public boolean empty() {
//        // if(queue1 == null && queue2 == null){
//        //     return true;
//        // }
//        // return false;
//        return queue1.isEmpty() && queue2.isEmpty();
//    }
//
//    public static void main(String[] args) {
//        MyStack myStack = new MyStack();
//        myStack.push(3);
//        myStack.push(2);
//        myStack.push(1);
//        System.out.print(myStack.pop());
//        myStack.top();
//        System.out.print(myStack.top());
//
//    }
//}
import java.util.LinkedList;
import java.util.Queue;

// class MyStack {
//     public Queue<Integer> queue1;
//     public Queue<Integer> queue2;
//     public MyStack() {
//         queue1 = new LinkedList<>();
//         queue2 = new LinkedList<>();
//     }

//     public void push(int x) {
//         if(queue1 != null){
//             queue1.offer(x);
//         }else if(queue2 != null){
//             queue2.offer(x);
//         }else{
//             queue1.offer(x);
//         }
//     }

//     public int pop() {
//         if (empty()){
//             return -1;
//         }
//         if (!queue1.isEmpty()) {
//             int size1 = queue1.size();
//             for (int i = 0; i < size1 - 1; i++) {
//                 queue2.offer(queue1.poll());
//             }
//             return queue1.poll();
//         } else {
//             int size2 = queue2.size();
//             for (int i = 0; i < size2 - 1; i++) {
//                 queue1.offer(queue2.poll());
//             }
//             return queue2.poll();
//         }
//     }
//     public int top() {
//         if (empty()){
//             return -1;
//         }
//         int temp = -1;
//         if (!queue1.isEmpty()) {
//             int size1 = queue1.size();
//             for (int i = 0; i < size1 ; i++) {
//                 temp = queue1.poll();
//                 queue2.offer(temp);
//             }
//         } else {
//             int size2 = queue2.size();
//             for (int i = 0; i < size2 ; i++) {
//                 temp = queue2.poll();
//                 queue1.offer(temp);
//             }
//         }
//         return temp;
//     }

//     public boolean empty() {
//         // if(queue1 == null && queue2 == null){
//         //     return true;
//         // }
//         // return false;
//         return queue1.isEmpty() && queue2.isEmpty();
//     }

class MyStack {
    public Queue<Integer> queue1;
    public Queue<Integer> queue2;
    public MyStack() {
        queue1 = new LinkedList<>();
        queue2 = new LinkedList<>();
    }
    public void push(int x) {
        queue2.offer(x);
        while(!queue1.isEmpty()){
            queue2.offer(queue1.poll());
        }
        Queue<Integer> temp = queue1;
        queue1 = queue2;
        queue2 = temp;
    }
    public int pop() {
        return queue1.poll();
    }
    public int top() {
        return queue1.peek();
    }
    public boolean empty() {
        return queue1.isEmpty();
    }




}